package com.antaohua.platfrom.framework.base.utils;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

public class PageUtil<E> implements Serializable {
	private static final long serialVersionUID = -1164142211838607286L;
	private Integer page;
	private Integer pageCount;
	private Integer limit = Integer.valueOf(10);
	private Long total;
	private List<E> root;

	public Integer getPage() {
		if (this.page == null) {
			this.page = Integer.valueOf(1);
		}
		return this.page;
	}

	public void setPage(Integer page) {
		this.page = page;
	}

	public Integer getPageCount() {
		if (this.total.intValue() % this.limit.intValue() == 0) {
			this.pageCount = Integer.valueOf(this.total.intValue()
					/ this.limit.intValue());
		} else {
			this.pageCount = Integer.valueOf(this.total.intValue()
					/ this.limit.intValue() + 1);
		}
		return this.pageCount;
	}

	public Long getTotal() {
		return this.total;
	}

	public void setTotal(Long total) {
		this.total = total;
	}

	public List<E> getRoot() {
		if (this.root == null) {
			this.root = new ArrayList<E>();
		}
		return this.root;
	}

	public void setRoot(List<E> root) {
		this.root = root;
	}

	public Integer getLimit() {
		return this.limit;
	}

	public void setLimit(Integer limit) {
		this.limit = limit;
	}

	public int getFirstNumber() {
		return getLimit().intValue() * getPage().intValue()
				- getLimit().intValue();
	}

	public int getLastNumber() {
		return getLimit().intValue() * getPage().intValue();
	}
}